// ------------------------------ 校验数据非空 ----------------------------------- 
var checkNull = {};
checkNull.isNotEmpty = function(str, msg) {
	if (str == null || str == "") {
		toastr.warning(msg);
		throw new error(msg);
	}
	return true;
};

checkNull.isNotNull = function(str) {
	if (str == null || str == "") {
		return false;
	}
	return true;
}

// ------------------------------ 校验数据长度 -----------------------------------
var checkLength = {};
// 最小长度
checkLength.minLength = function(str, length, msg) {
	if (checkNull.isNotEmpty(str) && str.length < length) {
		toastr.warning(msg);
		throw new error();
	}
	return true;
}

// 最大长度
checkLength.maxLength = function(str, length, msg) {
	if (checkNull.isNotEmpty(str) && str.length > length) {
		toastr.warning(msg);
		throw new error();
	}
	return true;
}

// 字符串长度大于指定长度
checkLength.checkMinLength = function(str, length) {
	if (checkNull.isNotNull(str) && str.length > length) {
		return true;
	}
	return false;
}

// 最小最大长度
checkLength.betweenLength = function(str, minlength, maxLength, msg) {
	var result = checkLength.minLength(str, minlength, msg)
			&& checkLength.maxLength(str, maxLength, msg);
	return result;
}

// ------------------------------ 校验数据格式 -----------------------------------
var checkPattern = {};
// 广泛的方法
checkPattern.checkPattern = function(str, pattern, msg) {
	if (!pattern.test(str)) {
		toastr.warning(msg);
		throw new error();
	}
	return true;
}
// 邮箱
checkPattern.checkEmail = function(email, msg) {
	var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/g;
	return checkPattern.checkPattern(email, pattern, msg);
}

// 手机号
checkPattern.checkPhone = function(phone, msg) {
	var pattern = /^((13[0-9]{1})|159|153)+\d{8}$/g;
	return checkPattern.checkPattern(phone, pattern, msg);
}

// 整数类型
checkPattern.checkTwoPointNum = function(num, msg) {
	var pattern = /^\d*$/g;
	return checkPattern.checkPattern(num, pattern, msg);
}

// 小数点两位
checkPattern.checkIntegerNum = function(floatNum, msg) {
	var pattern = /^\d*\.?\d{0,2}$/g;
	return checkPattern.checkPattern(floatNum, pattern, msg);
}

// ------------------------------ 校验数据大小 -----------------------------------
var checkNumber = {}; // 支持字符串的比较，没有校验非空
// 数据比设定最小的大
checkNumber.checkMinNum = function(num, min, msg) {
	var number = parseFloat(num);
	if (number <= min) {
		toastr.warning(msg);
		throw new error();
	}
	return true;
}

// 数据比设定最大的小
checkNumber.checkMaxNum = function(num, max, msg) {
	var number = parseFloat(num);
	if (number >= min) {
		toastr.warning(msg);
		throw new error();
	}
	return true;
}

// 数据介于最小和最大之间
checkNumber.checkBetweenNum = function(num, min, max, msg) {
	var result = checkNumber.checkMinNum(num, min, msg)
			&& checkNumber.checkMaxNum(num, max, msg);
	return result;
}
